welo git mirrors
examples/client.rs 4077c324ef60af68bf93683be0d0834ca2dc8d60 (4077c324) Text, 1.30 KB
T8b949e//! Minimal RNS SOCKS5 proxy client (local SOCKS5 proxy).
T8b949e//!
T8b949e//! Usage:
T8b949e//! cargo run --example client -- -d <32-hex-char-hash>
T8b949e//! cargo run --example client -- -d <hash> -l 0.0.0.0:1080
T8b949e//! RUST_LOG=debug cargo run --example client -- -d <hash>
T8b949e//!
T8b949e//! Then use the proxy:
T8b949e//! curl --socks5 127.0.0.1:1080 https://example.com
Tff7b72use Te6edf3clap::Te6edf3ParserTb4b4b4;
Tff7b72use Te6edf3rns_proxy::Te6edf3cli::Tb4b4b4{Te6edf3CliTb4b4b4, Te6edf3CommandsTb4b4b4}Tb4b4b4;
Tff7b72#[Tff7b72tokio::mainTff7b72]
Tff7b72async Tff7b72fn Td2a8ffmainTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3cli Tff7b72= Te6edf3Cli::Te6edf3parse_fromTb4b4b4(
Tb4b4b4[Ta5d6ff"Ta5d6ffrns-proxyTa5d6ff"Tb4b4b4.Te6edf3to_stringTb4b4b4(Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6ffclientTa5d6ff"Tb4b4b4.Te6edf3to_stringTb4b4b4(Tb4b4b4)Tb4b4b4]
Tb4b4b4.Te6edf3into_iterTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3chainTb4b4b4(Te6edf3std::Te6edf3env::Te6edf3argsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3skipTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3log_level Tff7b72= Tff7b72if Te6edf3cliTb4b4b4.Te6edf3debug Tb4b4b4{ Ta5d6ff"Ta5d6ffdebugTa5d6ff" Tb4b4b4} Tff7b72else Tb4b4b4{ Ta5d6ff"Ta5d6ffinfoTa5d6ff" Tb4b4b4}Tb4b4b4;
Te6edf3env_logger::Te6edf3Builder::Te6edf3from_envTb4b4b4(Te6edf3env_logger::Te6edf3Env::Te6edf3defaultTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3default_filter_orTb4b4b4(Te6edf3log_levelTb4b4b4)Tb4b4b4)
Tb4b4b4.Te6edf3format_timestamp_secsTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3initTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72match Te6edf3cliTb4b4b4.Te6edf3command Tb4b4b4{
Te6edf3Commands::Te6edf3Client Tb4b4b4{
Te6edf3destinationTb4b4b4,
Te6edf3listenTb4b4b4,
Tb4b4b4} Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72eprintln!Tb4b4b4(Ta5d6ff"Ta5d6ffStarting RNS SOCKS5 proxy client...Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Ta5d6ff"Ta5d6ff Destination: {}Ta5d6ff"Tb4b4b4, Te6edf3destinationTb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Ta5d6ff"Ta5d6ff SOCKS5: {}Ta5d6ff"Tb4b4b4, Te6edf3listenTb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Ta5d6ff"Ta5d6ffMake sure rnsd is running (pip install rns && rnsd)Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72eprintln!Tb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3rns_proxy::Te6edf3client::Te6edf3run_clientTb4b4b4(Tff7b72&Te6edf3destinationTb4b4b4, Tff7b72&Te6edf3listenTb4b4b4)Tb4b4b4.Tff7b72awaitTb4b4b4;
Tb4b4b4}
Te6edf3_ Tff7b72=Tff7b72> Tff7b72unreachable!Tb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}
Tb4b4b4}
Served by rngit 1.4.2 - Generated in 0.02s